Dictionary.com
Thesaurus.com

knight in shining armor

Idioms  
  1. A rescuer or defender, as in What this political party needs is a knight in shining armor to change its tarnished image. This metaphoric expression alludes to a medieval knight. [Mid-1900s]